fix: build error with MTP mode of dotnet test#849
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR fixes a build error that occurred when running TUnit tests with the Multi-Threaded Project (MTP) mode of dotnet test. The fix involves configuring TUnit tests to run as an executable and switching the test execution method in the build pipeline.
- Configured TUnit test project to output as an executable to support MTP mode
- Updated framework test target from .NET 8.0 to .NET 10.0
- Changed build pipeline to use
DotNetRuninstead ofDotNetTestfor framework tests
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| Tests/Frameworks/aweXpect.Frameworks.Tunit.Tests/aweXpect.Frameworks.Tunit.Tests.csproj | Added OutputType property set to Exe to enable executable output for TUnit tests |
| Tests/Frameworks/Directory.Build.props | Updated target framework from net8.0 to net10.0 |
| Pipeline/Build.FrameworkTest.cs | Changed from DotNetTest to DotNetRun for executing framework tests |
…t test (#849) by Valentin Breuß
…t test (#849) by Valentin Breuß
|
🚀 Benchmark ResultsDetails
|
|
This is addressed in release v2.29.0. |
Updated [aweXpect](https://github.com/aweXpect/aweXpect) from 2.26.0 to 2.31.0. <details> <summary>Release notes</summary> _Sourced from [aweXpect's releases](https://github.com/aweXpect/aweXpect/releases)._ ## 2.31.0 ## What's Changed * chore: Bump the xunit group with 2 updates by @dependabot[bot] in Testably/aweXpect#883 * chore: Bump apexskier/github-release-commenter from 1.3.6 to 1.4.1 by @dependabot[bot] in Testably/aweXpect#884 * chore: Bump SharpCompress from 0.42.1 to 0.44.3 by @dependabot[bot] in Testably/aweXpect#886 * docs: support nested directories in extensions by @vbreuss in Testably/aweXpect#887 * chore: Bump the tunit group with 2 updates by @dependabot[bot] in Testably/aweXpect#888 * chore: Bump SharpCompress from 0.44.3 to 0.44.5 by @dependabot[bot] in Testably/aweXpect#889 * chore: Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in Testably/aweXpect#898 * chore: Bump actions/download-artifact from 7 to 8 by @dependabot[bot] in Testably/aweXpect#899 * chore: Bump the mstest group with 2 updates by @dependabot[bot] in Testably/aweXpect#890 * chore: Bump the nunit group with 1 update by @dependabot[bot] in Testably/aweXpect#895 * chore: Bump coverlet.collector from 6.0.4 to 8.0.0 by @dependabot[bot] in Testably/aweXpect#897 * chore: update docusaurus webpage by @vbreuss in Testably/aweXpect#900 * refactor: fix build warnings by @vbreuss in Testably/aweXpect#902 * feat: give access to `Timeout` and `CancellationToken` in the `ExpectationBuilder` by @vbreuss in Testably/aweXpect#901 * chore: Bump Microsoft.Testing.Extensions.CodeCoverage from 18.3.2 to 18.5.2 by @dependabot[bot] in Testably/aweXpect#906 * chore: Bump Microsoft.NET.Test.Sdk from 18.0.1 to 18.3.0 by @dependabot[bot] in Testably/aweXpect#905 * chore: Bump the nunit group with 2 updates by @dependabot[bot] in Testably/aweXpect#903 * chore: bump aweXpect.Core to v2.28.0 by @vbreuss in Testably/aweXpect#909 * refactor: migrate to slnx format by @vbreuss in Testably/aweXpect#908 **Full Changelog**: Testably/aweXpect@v2.30.0...v2.31.0 ## 2.30.0 ## What's Changed * chore: Bump actions/checkout from 5 to 6 by @dependabot[bot] in Testably/aweXpect#850 * chore: Bump the mstest group with 2 updates by @dependabot[bot] in Testably/aweXpect#851 * chore: Bump the tunit group with 3 updates by @dependabot[bot] in Testably/aweXpect#853 * chore: Bump Microsoft.NET.Test.Sdk from 18.0.0 to 18.0.1 by @dependabot[bot] in Testably/aweXpect#854 * chore: Bump Microsoft.Testing.Extensions.TrxReport from 2.0.1 to 2.0.2 by @dependabot[bot] in Testably/aweXpect#855 * chore: update docusaurus dependencies by @vbreuss in Testably/aweXpect#856 * chore: bump nuke to v10.1.0 by @vbreuss in Testably/aweXpect#862 * chore: Bump BenchmarkDotNet from 0.15.6 to 0.15.8 by @dependabot[bot] in Testably/aweXpect#860 * chore: Bump PublicApiGenerator from 11.5.0 to 11.5.3 by @dependabot[bot] in Testably/aweXpect#861 * chore: Bump PublicApiGenerator from 11.5.3 to 11.5.4 by @dependabot[bot] in Testably/aweXpect#864 * chore: Bump the nunit group with 1 update by @dependabot[bot] in Testably/aweXpect#863 * chore: Bump the xunit group with 2 updates by @dependabot[bot] in Testably/aweXpect#858 * chore: Bump actions/download-artifact from 6 to 7 by @dependabot[bot] in Testably/aweXpect#866 * chore: Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in Testably/aweXpect#867 * chore: Bump the tunit group with 2 updates by @dependabot[bot] in Testably/aweXpect#868 * chore: Bump SharpCompress from 0.41.0 to 0.42.1 by @dependabot[bot] in Testably/aweXpect#869 * chore: Bump the nunit group with 1 update by @dependabot[bot] in Testably/aweXpect#876 * chore: Bump Microsoft.Testing.Extensions.CodeCoverage and 2 others by @dependabot[bot] in Testably/aweXpect#875 * feat: add implicit conversion to `Times` by @vbreuss in Testably/aweXpect#878 * chore: Bump TUnit and TUnit.Assertions by @dependabot[bot] in Testably/aweXpect#879 * feat: support async `Because` reason by @vbreuss in Testably/aweXpect#880 * chore: bump aweXpect.Core to v2.27.0 by @vbreuss in Testably/aweXpect#881 **Full Changelog**: Testably/aweXpect@v2.29.0...v2.30.0 ## 2.29.0 ## What's Changed * chore: update aweXpect to v2.28.0 by @vbreuss in Testably/aweXpect#841 * refactor: move needs from pack to push by @vbreuss in Testably/aweXpect#840 * chore: Bump the tunit group with 2 updates by @dependabot[bot] in Testably/aweXpect#842 * chore: Bump BenchmarkDotNet from 0.15.5 to 0.15.6 by @dependabot[bot] in Testably/aweXpect#843 * chore: Bump PublicApiGenerator from 11.4.6 to 11.5.0 by @dependabot[bot] in Testably/aweXpect#844 * chore: Bump SharpCompress from 0.39.0 to 0.41.0 by @dependabot[bot] in Testably/aweXpect#845 * feat: add support for .NET 10 by @vbreuss in Testably/aweXpect#794 * fix: disable failing mutation tests by @vbreuss in Testably/aweXpect#847 * fix: add attributes only when they are available by @vbreuss in Testably/aweXpect#846 * chore: bump aweXpect.Core to v2.26.0 by @vbreuss in Testably/aweXpect#848 * fix: build error with MTP mode of dotnet test by @vbreuss in Testably/aweXpect#849 **Full Changelog**: Testably/aweXpect@v2.28.0...v2.29.0 ## 2.28.0 ## What's Changed * chore: update aweXpect to v2.27.1 by @vbreuss in Testably/aweXpect#818 * docs: document Mockolate by @vbreuss in Testably/aweXpect#828 * chore: Bump actions/setup-node from 5 to 6 by @dependabot[bot] in Testably/aweXpect#819 * chore: Bump actions/download-artifact from 5 to 6 by @dependabot[bot] in Testably/aweXpect#822 * chore: Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in Testably/aweXpect#823 * chore: Bump BenchmarkDotNet from 0.14.0 to 0.15.4 by @dependabot[bot] in Testably/aweXpect#824 * chore: Bump FluentAssertions from 8.2.0 to 8.8.0 by @dependabot[bot] in Testably/aweXpect#825 * docs: fix docusaurus warning by @vbreuss in Testably/aweXpect#829 * chore: Bump Microsoft.NET.Test.Sdk from 17.14.1 to 18.0.0 by @dependabot[bot] in Testably/aweXpect#826 * chore: Bump Microsoft.Testing.Extensions.CodeCoverage from 17.14.2 to 18.1.0 by @dependabot[bot] in Testably/aweXpect#827 * chore: update TUnit to v0.88.0 by @vbreuss in Testably/aweXpect#830 * feat: improve test output for dictionary `ContainsKey` by @vbreuss in Testably/aweXpect#835 * chore: Bump the xunit group with 2 updates by @dependabot[bot] in Testably/aweXpect#833 * chore: Bump the nunit group with 1 update by @dependabot[bot] in Testably/aweXpect#831 * chore: Bump BenchmarkDotNet from 0.15.4 to 0.15.5 by @dependabot[bot] in Testably/aweXpect#834 * fix: infinite loop in result contexts by @vbreuss in Testably/aweXpect#836 * fix: use list in `ResultContexts` by @vbreuss in Testably/aweXpect#837 * feat: include actual and expected context in string contains by @vbreuss in Testably/aweXpect#838 * chore: update aweXpect.Core to v2.25.2 by @vbreuss in Testably/aweXpect#839 **Full Changelog**: Testably/aweXpect@v2.27.1...v2.28.0 ## 2.27.1 ## What's Changed * fix: formatting of nested types within generic types by @vbreuss in Testably/aweXpect#815 * refactor: reduce allocations for context by @vbreuss in Testably/aweXpect#816 * chore: bump aweXpect.Core to v2.25.1 by @vbreuss in Testably/aweXpect#817 **Full Changelog**: Testably/aweXpect@v2.27.0...v2.27.1 ## 2.27.0 ## What's Changed * chore: Bump the xunit group with 3 updates by @dependabot[bot] in Testably/aweXpect#800 * chore: Bump the mstest group with 2 updates by @dependabot[bot] in Testably/aweXpect#801 * feat: allow customization of the `MaximumStringLength` by @vbreuss in Testably/aweXpect#802 * chore: update docusaurus to v3.9.1 by @vbreuss in Testably/aweXpect#803 * fix: formatting of nullable types by @vbreuss in Testably/aweXpect#808 * chore: Bump the mstest group with 2 updates by @dependabot[bot] in Testably/aweXpect#805 * chore: Bump the nunit group with 1 update by @dependabot[bot] in Testably/aweXpect#806 * chore: update TUnit to v0.70.0 by @vbreuss in Testably/aweXpect#809 * feat: move framework adapters to source generation by @vbreuss in Testably/aweXpect#810 * coverage: ensure that `NaN` is considered equal to `NaN` by @vbreuss in Testably/aweXpect#811 * chore: bump the aweXpect group by @vbreuss in Testably/aweXpect#812 * chore: update aweXpect.Core to v2.25.0 by @vbreuss in Testably/aweXpect#813 * feat: support MSTest v4 by @vbreuss in Testably/aweXpect#814 **Full Changelog**: Testably/aweXpect@v2.26.0...v2.27.0 Commits viewable in [compare view](Testably/aweXpect@v2.26.0...v2.31.0). </details> Updated [aweXpect.Core](https://github.com/aweXpect/aweXpect) from 2.24.0 to 2.28.0. <details> <summary>Release notes</summary> _Sourced from [aweXpect.Core's releases](https://github.com/aweXpect/aweXpect/releases)._ ## 2.28.0 ## What's Changed * chore: update aweXpect to v2.27.1 by @vbreuss in Testably/aweXpect#818 * docs: document Mockolate by @vbreuss in Testably/aweXpect#828 * chore: Bump actions/setup-node from 5 to 6 by @dependabot[bot] in Testably/aweXpect#819 * chore: Bump actions/download-artifact from 5 to 6 by @dependabot[bot] in Testably/aweXpect#822 * chore: Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in Testably/aweXpect#823 * chore: Bump BenchmarkDotNet from 0.14.0 to 0.15.4 by @dependabot[bot] in Testably/aweXpect#824 * chore: Bump FluentAssertions from 8.2.0 to 8.8.0 by @dependabot[bot] in Testably/aweXpect#825 * docs: fix docusaurus warning by @vbreuss in Testably/aweXpect#829 * chore: Bump Microsoft.NET.Test.Sdk from 17.14.1 to 18.0.0 by @dependabot[bot] in Testably/aweXpect#826 * chore: Bump Microsoft.Testing.Extensions.CodeCoverage from 17.14.2 to 18.1.0 by @dependabot[bot] in Testably/aweXpect#827 * chore: update TUnit to v0.88.0 by @vbreuss in Testably/aweXpect#830 * feat: improve test output for dictionary `ContainsKey` by @vbreuss in Testably/aweXpect#835 * chore: Bump the xunit group with 2 updates by @dependabot[bot] in Testably/aweXpect#833 * chore: Bump the nunit group with 1 update by @dependabot[bot] in Testably/aweXpect#831 * chore: Bump BenchmarkDotNet from 0.15.4 to 0.15.5 by @dependabot[bot] in Testably/aweXpect#834 * fix: infinite loop in result contexts by @vbreuss in Testably/aweXpect#836 * fix: use list in `ResultContexts` by @vbreuss in Testably/aweXpect#837 * feat: include actual and expected context in string contains by @vbreuss in Testably/aweXpect#838 * chore: update aweXpect.Core to v2.25.2 by @vbreuss in Testably/aweXpect#839 **Full Changelog**: Testably/aweXpect@v2.27.1...v2.28.0 ## 2.27.1 ## What's Changed * fix: formatting of nested types within generic types by @vbreuss in Testably/aweXpect#815 * refactor: reduce allocations for context by @vbreuss in Testably/aweXpect#816 * chore: bump aweXpect.Core to v2.25.1 by @vbreuss in Testably/aweXpect#817 **Full Changelog**: Testably/aweXpect@v2.27.0...v2.27.1 ## 2.27.0 ## What's Changed * chore: Bump the xunit group with 3 updates by @dependabot[bot] in Testably/aweXpect#800 * chore: Bump the mstest group with 2 updates by @dependabot[bot] in Testably/aweXpect#801 * feat: allow customization of the `MaximumStringLength` by @vbreuss in Testably/aweXpect#802 * chore: update docusaurus to v3.9.1 by @vbreuss in Testably/aweXpect#803 * fix: formatting of nullable types by @vbreuss in Testably/aweXpect#808 * chore: Bump the mstest group with 2 updates by @dependabot[bot] in Testably/aweXpect#805 * chore: Bump the nunit group with 1 update by @dependabot[bot] in Testably/aweXpect#806 * chore: update TUnit to v0.70.0 by @vbreuss in Testably/aweXpect#809 * feat: move framework adapters to source generation by @vbreuss in Testably/aweXpect#810 * coverage: ensure that `NaN` is considered equal to `NaN` by @vbreuss in Testably/aweXpect#811 * chore: bump the aweXpect group by @vbreuss in Testably/aweXpect#812 * chore: update aweXpect.Core to v2.25.0 by @vbreuss in Testably/aweXpect#813 * feat: support MSTest v4 by @vbreuss in Testably/aweXpect#814 **Full Changelog**: Testably/aweXpect@v2.26.0...v2.27.0 ## 2.26.0 ## What's Changed * feat: add string property result by @vbreuss in Testably/aweXpect#795 * feat: support direct check for boolean is `true` by @vbreuss in Testably/aweXpect#797 * chore: update aweXpect.Core to v2.24.0 by @vbreuss in Testably/aweXpect#798 **Full Changelog**: Testably/aweXpect@v2.25.0...v2.26.0 ## 2.25.0 ## What's Changed * refactor!: make `IStringMatchType` asynchronous by @vbreuss in Testably/aweXpect#787 * refactor: make `EquivalencyExpectationBuilder` public by @vbreuss in Testably/aweXpect#788 * chore: bump aweXpect.Core to v2.22.0 by @vbreuss in Testably/aweXpect#789 * fix: handle `null` in `It.Is` by @vbreuss in Testably/aweXpect#790 * fix: correct error message for prefix/suffix of empty strings by @vbreuss in Testably/aweXpect#791 * chore: bump the aweXpect group by @vbreuss in Testably/aweXpect#792 * feat: add `WithoutMessage` for delegate assertions by @vbreuss in Testably/aweXpect#793 **Full Changelog**: Testably/aweXpect@v2.24.0...v2.25.0 Commits viewable in [compare view](Testably/aweXpect@v2.24.0...v2.28.0). </details>



This PR fixes a build error that occurred when running TUnit tests with the Multi-Threaded Project (MTP) mode of
dotnet test. The fix involves configuring TUnit tests to run as an executable and switching the test execution method in the build pipeline.Key changes:
DotNetRuninstead ofDotNetTestfor framework tests